Many common applications of data processors which involve controlling a mechanical system involve table look-up operations. An example is the use of a microprocessor to generate signals used for controlling the fuel injectors in an internal combustion engine. The microprocessor is provided with a number of input parameters, such as engine speed, load, intake air temperature and pressure, calculates the appropriate amount of fuel to be injected and the timing for the injection and generates control signals which actuate the injectors. It is well known that a very effective method of performing the necessary calculations is to use the input parameters to generate an address which points to a location in a previously calculated table and to retrieve the appropriate results from that location in the table, which is stored in a memory accessible to the microprocessor.
Interpolation is a well known technique for increasing the accuracy of information retrieved from a table without requiring a larger table. Interpolation has been widely applied to data processor-based control systems such as that described above.
In the field of integrated circuit data processors, also referred to as microprocessors or microcomputers, table look-up and interpolation operations have been performed through a sequence of more basic instructions which are executable by the processors. While this solution allows the system designer wide flexibility in developing the most appropriate table look-up and interpolation algorithm for a particular application, such sequences of instructions are always slower than an equivalent single instruction would be. In addition, designing, coding and maintaining the algorithm may represent a significant burden on the resources of the system designer.